Hands-free telephony systems are becoming increasingly popular and important in a variety of applications. For example, a hands-free telephony system in a vehicle is useful in improving safety and for complying with driving regulations in some jurisdictions where cellphone usage while driving is prohibited. Acoustic echo, which is the direct result of acoustic coupling between the microphone and speaker is the main source of distortion in hands free telephony systems. Problems caused by acoustic echo are different than those caused by noisy speech signals. To eliminate the echo while maintaining a full duplex communication, traditional echo cancellers use a linear adaptive filter to identify the acoustic path between the microphone and speaker and based on this identified path an estimate of the acoustic echo is subtracted from the microphone signal. Note that due to limited DSP engine resources (memory and MIPS) the size of adaptive filter is usually smaller than the actual size of the acoustic echo path and an exact estimate of acoustic echo cannot be made. Also in real environments, due to noise, non-linearity in echo path etc, the performance of linear adaptive echo canceller will be even more limited. As a result of all these effects linear adaptive echo cancellers cannot cancel echo completely and some remaining echo residual can be heard by the far-end listener. The remaining echo residual is even more noticeable when long transmission delays are involved which is a typical case with most mobile or voice over IP (VOIP) networks.
To improve upon this limitation of linear adaptive filters, a common approach is to use a non-linear process (NLP) at the output of the adaptive filter to further suppress any remaining echo residual. Since NLP can also suppress the near-end talker's voice, ideally NLP should be active only when far-end talker is active. During double talk periods, when both near-end and far-end talkers are speaking at same time, NLP should be turned off to prevent clipping the near end talker's voice. Note that during double talk period, since NLP is off, echo residual can still be heard by far end listener. Non-linear echo cancellation is a different problem from linear echo cancellation and requires its own set of approaches. Methods used for linear echo cancellation cannot be generalized to apply to non-linear echo cancellation.
In practice, since double talk conditions can not be precisely detected, NLP can severely disrupt the full duplex operation of echo canceller by on-and-off clipping the near-end talker's voice during periods of double talk.